using SG3L_RAG.Application.DTOs;

namespace SG3L_RAG.Application.Interfaces
{
    public interface IVectorSearchService
    {
        Task<List<DocumentSearchResultDto>> SearchSimilarDocumentsAsync(string query, int topK = 5, float threshold = 0.7f);
        Task<List<DocumentChunkSearchResultDto>> SearchSimilarChunksAsync(string query, int topK = 10, float threshold = 0.7f);
        Task<bool> IndexDocumentAsync(Guid documentId);
        Task<bool> RemoveDocumentFromIndexAsync(Guid documentId);
        Task<bool> RebuildIndexAsync();
    }
}
